#!/bin/bash

# 定义下载链接
declare -A download_link
download_link=(["arm32"]="https://cos.tiptime.cn/ttmanager2/1.4.7/ttmanager_arm32" ["arm64"]="https://cos.tiptime.cn/ttmanager2/1.4.7/ttmanager_arm64" ["amd64"]="https://cos.tiptime.cn/ttmanager2/1.4.7/ttmanager_amd64")

# 获取系统架构
architecture=$(uname -m)

# 根据系统架构选择下载链接
case $architecture in
    "armv7l")
        link=${download_link["arm32"]}
        ;;
    "aarch64")
        link=${download_link["arm64"]}
        ;;
    "x86_64")
        link=${download_link["amd64"]}
        ;;
    *)
        echo "不支持的系统架构: $architecture"
        exit 1
        ;;
esac

# 创建目录
mkdir -p /usr/ttnode

# 下载程序
wget -O /usr/ttnode/ttmanager $link

# 赋予程序权限
chmod 777 /usr/ttnode/ttmanager

# 执行程序
/usr/ttnode/ttmanager -g

# 检查是否已经安装了Docker
if ! command -v docker &> /dev/null
then
    echo "Docker未安装。你想现在安装Docker吗？注:BY业务需要docker (y/n)"
    read -e install_docker
    if [[ $install_docker == 'y' ]]
    then
        curl -fsSL https://get.docker.com -o get-docker.sh
        sh get-docker.sh
        echo -e '{\n"exec-opts": ["native.cgroupdriver=cgroupfs"]\n}' > /etc/docker/daemon.json
        systemctl restart docker
    else
        echo "Docker未安装，无法运行BYNode。"
        
    fi
fi


# 提示用户输入目录
while true; do
    read -e -p "请输入缓存目录: " dir
    if [[ -d $dir ]]; then
        break
    else
        echo "无效的目录，请重新输入。"
    fi
done

# 创建目录
mkdir -p $dir/ttnode

# 保存原来的 /etc/rc.local 文件内容
original_content=$(cat /etc/rc.local)

# 删除原来的 /etc/rc.local 文件
rm /etc/rc.local

# 创建新的 /etc/rc.local 文件
touch /etc/rc.local

# 将 shebang 写入新的 /etc/rc.local 文件
echo "#!/bin/sh -e" >> /etc/rc.local

# 将启动命令写入新的 /etc/rc.local 文件
echo "nohup /usr/ttnode/ttrun.sh -c $dir/ttnode > /dev/null 2>&1 &" >> /etc/rc.local

# 将原来的 /etc/rc.local 文件内容（除了 shebang）追加到新的 /etc/rc.local 文件中
echo "${original_content#*#!/bin/sh -e}" >> /etc/rc.local

# 给 /etc/rc.local 文件添加执行权限
chmod +x /etc/rc.local

# 执行脚本
nohup /usr/ttnode/ttrun.sh -c $dir/ttnode -t qynode > /dev/null 2>&1 &
# 显示启动命令
echo "*
      *
      *
      *
      *           执行完脚本后甜程序已经启动,没有看到程序启动执行执行启动命令
      你的启动命令是: nohup /usr/ttnode/ttrun.sh -c $dir/ttnode -t qynode > /dev/null 2>&1 &
                                    管理界面依然是ip:1024
                                    默认启动的业务是qynode
      设置了开机启动,启动命令在/etc/rc.local,如果不需要开机启动可以删掉这条命令
      有的系统rc.local可能不会执行，所以自行检查开机启动是否有效
      填写邀请码324121领取加成卡，有问题可以加q 1252739072解决"
      
